{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Periodic features\n",
    "\n",
    "[Feature Engineering for Time Series Forecasting](https://www.trainindata.com/p/feature-engineering-for-forecasting)\n",
    "\n",
    "Periodic features are those that repeat their values at regular intervals, like the hour, the days of a week, and the months of a year.\n",
    "\n",
    "With cyclical or periodic features, values that are very different in absolute magnitude are actually close. For example, January is close to December, even though their absolute magnitude suggests otherwise.\n",
    "\n",
    "We can use periodic functions like sine and cosine, to transform cyclical features and help machine learning models  pick up their intrinsic nature."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Create toy data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hour</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   hour\n",
       "0     0\n",
       "1     1\n",
       "2     2\n",
       "3     3\n",
       "4     4"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Let's create a dataframe with the hour\n",
    "# from 0 to 23.\n",
    "\n",
    "df = pd.DataFrame([i for i in range(24)], columns=['hour'])\n",
    "\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's determine the time elapsed between the hours 3 and 1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "hour    2\n",
       "dtype: int64"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[3] - df.iloc[1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As expected, there is a 2 hours difference.\n",
    "\n",
    "Now, let's determine the difference between 22 hours and midnight, that is 0 hours."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "hour    22\n",
       "dtype: int64"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.iloc[22] - df.iloc[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we see, there is a difference of 22, when we actually know that there is only a 2 hours difference.\n",
    "\n",
    "How can we make machine learning models better understand the real difference between the values of cyclical features?\n",
    "\n",
    "\n",
    "# Sin and cosine transformations"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>hour</th>\n",
       "      <th>hour_sin</th>\n",
       "      <th>hour_cos</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.269797</td>\n",
       "      <td>0.962917</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>0.519584</td>\n",
       "      <td>0.854419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3</td>\n",
       "      <td>0.730836</td>\n",
       "      <td>0.682553</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "      <td>0.887885</td>\n",
       "      <td>0.460065</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   hour  hour_sin  hour_cos\n",
       "0     0  0.000000  1.000000\n",
       "1     1  0.269797  0.962917\n",
       "2     2  0.519584  0.854419\n",
       "3     3  0.730836  0.682553\n",
       "4     4  0.887885  0.460065"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# We transform the features with the sine and cosine function.\n",
    "\n",
    "df[\"hour_sin\"] = np.sin(df[\"hour\"] / df[\"hour\"].max() * 2 * np.pi)\n",
    "\n",
    "df[\"hour_cos\"] = np.cos(df[\"hour\"] / df[\"hour\"].max() * 2 * np.pi)\n",
    "\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.LineCollection at 0x22f5eed5870>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot hour vs its trigonometric transformation.\n",
    "\n",
    "plt.scatter(df[\"hour\"], df[\"hour_sin\"])\n",
    "\n",
    "# Axis labels\n",
    "plt.ylabel('Sine of hour')\n",
    "plt.xlabel('Hour')\n",
    "plt.title('Sine transformation')\n",
    "\n",
    "plt.vlines(x=0, ymin=-1, ymax=0, color='g', linestyles='dashed')\n",
    "plt.vlines(x=22, ymin=-1, ymax=-0.25, color='g', linestyles='dashed')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "After the transformation we see that the hours 0 and 22 are much closer in value.\n",
    "\n",
    "But, we also observe that the different hours could take the same value after the transformation, see below:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.LineCollection at 0x22f6101a980>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot hour vs its trigonometric transformation.\n",
    "\n",
    "plt.scatter(df[\"hour\"], df[\"hour_sin\"])\n",
    "\n",
    "# Axis labels\n",
    "plt.ylabel('Sine of hour')\n",
    "plt.xlabel('Hour')\n",
    "plt.title('Sine transformation')\n",
    "\n",
    "plt.hlines(y=0, xmin=0, xmax=11.5, color='r', linestyles='dashed')\n",
    "\n",
    "plt.vlines(x=0, ymin=-1, ymax=0, color='g', linestyles='dashed')\n",
    "plt.vlines(x=11.5, ymin=-1, ymax=0, color='g', linestyles='dashed')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the precedent plot, we see the the hours 0 and 11.5 take roughly the same value after the sin transformation.\n",
    "\n",
    "The same is true for the cosine function, see below:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.LineCollection at 0x22f61097400>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot hour vs its trigonometric transformation.\n",
    "\n",
    "plt.scatter(df[\"hour\"], df[\"hour_cos\"])\n",
    "\n",
    "# Axis labels\n",
    "plt.ylabel('Cosine of hour')\n",
    "plt.xlabel('Hour')\n",
    "plt.title('Cosine transformation')\n",
    "\n",
    "plt.hlines(y=-0.09, xmin=5, xmax=18, color='r', linestyles='dashed')\n",
    "\n",
    "plt.vlines(x=6, ymin=-1, ymax=0, color='g', linestyles='dashed')\n",
    "plt.vlines(x=17, ymin=-1, ymax=0, color='g', linestyles='dashed')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In the former plot, we see that the hours 6 and 17 take roughly the same cosine value after the transformation.\n",
    "\n",
    "How can we distinguish the hours 0 from 11.5 or 6 from 17?\n",
    "\n",
    "We need to use the 2 transformations together to fully code the information of the hour. Adding the cosine function, which is out-of-phase with the sine function, breaks the symmetry and gives each hour a unique codification. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.LineCollection at 0x22f620d9b10>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot hour vs its trigonometric transformation.\n",
    "\n",
    "plt.scatter(df[\"hour\"], df[\"hour_sin\"])\n",
    "plt.scatter(df[\"hour\"], df[\"hour_cos\"])\n",
    "\n",
    "# Axis labels\n",
    "plt.ylabel('Sine and cosine of hour')\n",
    "plt.xlabel('Hour')\n",
    "plt.title('Sine and Cosine transformation')\n",
    "\n",
    "\n",
    "plt.hlines(y=0, xmin=0, xmax=11.5, color='r', linestyles='dashed')\n",
    "\n",
    "plt.vlines(x=0, ymin=-1, ymax=1, color='g', linestyles='dashed')\n",
    "plt.vlines(x=11.5, ymin=-1, ymax=1, color='g', linestyles='dashed')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "With the values of sine 0 and cosine 1, we can unequivocally identify the hour 0. With the values of sine 0 and cosine -1 we can unequivocally identify the hour 11.5 and so on.\n",
    "\n",
    "An intuitive way to show the new representation is to plot the sine vs the cosine transformation of the hour. It will show as a 24 hour clock, and now, the distance between two points corresponds to the difference in time as we would expect from a 24-hour cycle."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 504x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(7, 5))\n",
    "sp = ax.scatter(df[\"hour_sin\"], df[\"hour_cos\"], c=df[\"hour\"])\n",
    "ax.set(\n",
    "    xlabel=\"sin(hour)\",\n",
    "    ylabel=\"cos(hour)\",\n",
    ")\n",
    "_ = fig.colorbar(sp)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, we can go ahead and apply this transformation to some real data."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# to automate many of our engineering processes\n",
    "from feature_engine.creation import CyclicalFeatures\n",
    "from feature_engine.datetime import DatetimeFeatures\n",
    "\n",
    "from sklearn.pipeline import Pipeline"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#  Pollutants\n",
    "\n",
    "Let's work with the air quality dataset that we created in the notebook **03-prepare-air-quality-dataset** which you can find in the folder **01-Create-Datasets** in this repository."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Function to load and prepare input data.\n",
    "\n",
    "def load_data():\n",
    "\n",
    "    # Data lives here.\n",
    "    filename = '../datasets/AirQualityUCI_ready.csv'\n",
    "\n",
    "    # Load data: only the time variable and CO\n",
    "    data = pd.read_csv(filename, usecols=['Date_Time', 'CO_sensor'])\n",
    "\n",
    "    # Cast date variable in datetime format.\n",
    "    data['Date_Time'] = pd.to_datetime(data['Date_Time'])\n",
    "\n",
    "    # Set the index to the timestamp.\n",
    "    data.index = data['Date_Time']\n",
    "\n",
    "    # Sanity: sort index.\n",
    "    data.sort_index(inplace=True)\n",
    "\n",
    "    # Reduce data span.\n",
    "    data = data[(\n",
    "        data['Date_Time'] >= '2004-04-01') &\n",
    "        (data['Date_Time'] <= '2005-04-30')\n",
    "    ]\n",
    "\n",
    "    # Remove outliers\n",
    "    data = data.loc[(data['CO_sensor'] > 0)]\n",
    "\n",
    "    return data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date_Time</th>\n",
       "      <th>CO_sensor</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date_Time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2004-04-04 00:00:00</th>\n",
       "      <td>2004-04-04 00:00:00</td>\n",
       "      <td>1224.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 01:00:00</th>\n",
       "      <td>2004-04-04 01:00:00</td>\n",
       "      <td>1215.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 02:00:00</th>\n",
       "      <td>2004-04-04 02:00:00</td>\n",
       "      <td>1115.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 03:00:00</th>\n",
       "      <td>2004-04-04 03:00:00</td>\n",
       "      <td>1124.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 04:00:00</th>\n",
       "      <td>2004-04-04 04:00:00</td>\n",
       "      <td>1028.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              Date_Time  CO_sensor\n",
       "Date_Time                                         \n",
       "2004-04-04 00:00:00 2004-04-04 00:00:00     1224.0\n",
       "2004-04-04 01:00:00 2004-04-04 01:00:00     1215.0\n",
       "2004-04-04 02:00:00 2004-04-04 02:00:00     1115.0\n",
       "2004-04-04 03:00:00 2004-04-04 03:00:00     1124.0\n",
       "2004-04-04 04:00:00 2004-04-04 04:00:00     1028.0"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load data.\n",
    "\n",
    "data = load_data()\n",
    "\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Add temporal features\n",
    "\n",
    "We will extract year, month and hour from the index."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CO_sensor</th>\n",
       "      <th>Date_Time_year</th>\n",
       "      <th>Date_Time_month</th>\n",
       "      <th>Date_Time_hour</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date_Time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2004-04-04 00:00:00</th>\n",
       "      <td>1224.0</td>\n",
       "      <td>2004</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 01:00:00</th>\n",
       "      <td>1215.0</td>\n",
       "      <td>2004</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 02:00:00</th>\n",
       "      <td>1115.0</td>\n",
       "      <td>2004</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 03:00:00</th>\n",
       "      <td>1124.0</td>\n",
       "      <td>2004</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 04:00:00</th>\n",
       "      <td>1028.0</td>\n",
       "      <td>2004</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     CO_sensor  Date_Time_year  Date_Time_month  \\\n",
       "Date_Time                                                         \n",
       "2004-04-04 00:00:00     1224.0            2004                4   \n",
       "2004-04-04 01:00:00     1215.0            2004                4   \n",
       "2004-04-04 02:00:00     1115.0            2004                4   \n",
       "2004-04-04 03:00:00     1124.0            2004                4   \n",
       "2004-04-04 04:00:00     1028.0            2004                4   \n",
       "\n",
       "                     Date_Time_hour  \n",
       "Date_Time                            \n",
       "2004-04-04 00:00:00               0  \n",
       "2004-04-04 01:00:00               1  \n",
       "2004-04-04 02:00:00               2  \n",
       "2004-04-04 03:00:00               3  \n",
       "2004-04-04 04:00:00               4  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extract month and hour from timestamp\n",
    "\n",
    "dtf = DatetimeFeatures(\n",
    "    variables='Date_Time',  # the timestamp\n",
    "    features_to_extract=[\"year\", \"month\", \"hour\"],  # the features to create\n",
    "    drop_original=True  # if we want to drop the timestamp.\n",
    ")\n",
    "\n",
    "# Extract the datetime features\n",
    "data = dtf.fit_transform(data)\n",
    "\n",
    "# Show new variables\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Hourly pollutant concentration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'CO concentration in time')"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Mean pollutant concentration per hour.\n",
    "\n",
    "data.groupby([\"Date_Time_hour\", \"Date_Time_month\"])[\"CO_sensor\"].mean().unstack().plot(figsize=(8,5))\n",
    "plt.ylabel(\"CO concentration\")\n",
    "plt.title(\"CO concentration in time\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Monthly pollutant concentration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'CO concentration in time')"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Mean pollutant concentration per month.\n",
    "\n",
    "data.groupby([\"Date_Time_month\", \"Date_Time_year\"])[\"CO_sensor\"].mean().unstack().plot(figsize=(8,5))\n",
    "plt.ylabel(\"CO concentration\")\n",
    "plt.title(\"CO concentration in time\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We do not have enough information to conclude that there is monthly seasonality. We would need more years of information."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Periodic transformation\n",
    "\n",
    "Let's transform the features with the sine and cosine manually."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Sine transformation of hour')"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Transform hour with sine.\n",
    "\n",
    "data[\"hour_sin\"] = np.sin(data[\"Date_Time_hour\"] /\n",
    "                          data[\"Date_Time_hour\"].max() * 2 * np.pi)\n",
    "\n",
    "# Plot.\n",
    "plt.scatter(data[\"Date_Time_hour\"], data['hour_sin'])\n",
    "\n",
    "# Axis labels\n",
    "plt.xlabel('Hour')\n",
    "plt.ylabel('Hour - Sine')\n",
    "plt.title('Sine transformation of hour')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Cosine transformation of hour')"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Transform hour with cosine.\n",
    "data[\"hour_cos\"] = np.cos(data[\"Date_Time_hour\"] /\n",
    "                          data[\"Date_Time_hour\"].max() * 2 * np.pi)\n",
    "\n",
    "# Plot.\n",
    "plt.scatter(data[\"Date_Time_hour\"], data['hour_cos'])\n",
    "\n",
    "plt.xlabel('Hour')\n",
    "plt.ylabel('Hour - Cosine')\n",
    "plt.title('Cosine transformation of hour')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Sine transformation of Month')"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Transform month with sine.\n",
    "data[\"month_sin\"] = np.sin(data[\"Date_Time_month\"] /\n",
    "                          data[\"Date_Time_month\"].max() * 2 * np.pi)\n",
    "\n",
    "# Plot.\n",
    "plt.scatter(data[\"Date_Time_month\"], data['month_sin'])\n",
    "\n",
    "# Axis labels\n",
    "plt.xlabel('Month')\n",
    "plt.ylabel('Month - Sine')\n",
    "plt.title('Sine transformation of Month')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, 'Cosine transformation of Month')"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Transform month with cosine.\n",
    "data[\"month_cos\"] = np.cos(data[\"Date_Time_month\"] /\n",
    "                          data[\"Date_Time_month\"].max() * 2 * np.pi)\n",
    "\n",
    "# Plot.\n",
    "plt.scatter(data[\"Date_Time_month\"], data['month_cos'])\n",
    "\n",
    "# Axis labels\n",
    "plt.xlabel('Month')\n",
    "plt.ylabel('Month - Cosine')\n",
    "plt.title('Cosine transformation of Month')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Automate with Feature-engine\n",
    "\n",
    "We can extract all the features that we created manually with pandas, automatically, using Feature-engine.\n",
    "\n",
    "In particular, for periodic features we can use the [CyclicalFeatures](https://feature-engine.readthedocs.io/en/latest/user_guide/creation/CyclicalFeatures.html)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Date_Time</th>\n",
       "      <th>CO_sensor</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date_Time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2004-04-04 00:00:00</th>\n",
       "      <td>2004-04-04 00:00:00</td>\n",
       "      <td>1224.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 01:00:00</th>\n",
       "      <td>2004-04-04 01:00:00</td>\n",
       "      <td>1215.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 02:00:00</th>\n",
       "      <td>2004-04-04 02:00:00</td>\n",
       "      <td>1115.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 03:00:00</th>\n",
       "      <td>2004-04-04 03:00:00</td>\n",
       "      <td>1124.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 04:00:00</th>\n",
       "      <td>2004-04-04 04:00:00</td>\n",
       "      <td>1028.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              Date_Time  CO_sensor\n",
       "Date_Time                                         \n",
       "2004-04-04 00:00:00 2004-04-04 00:00:00     1224.0\n",
       "2004-04-04 01:00:00 2004-04-04 01:00:00     1215.0\n",
       "2004-04-04 02:00:00 2004-04-04 02:00:00     1115.0\n",
       "2004-04-04 03:00:00 2004-04-04 03:00:00     1124.0\n",
       "2004-04-04 04:00:00 2004-04-04 04:00:00     1028.0"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Load data.\n",
    "\n",
    "data = load_data()\n",
    "\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Get datetime features from the datetime variable\n",
    "# and apply periodic transformation.\n",
    "\n",
    "pipe = Pipeline([\n",
    "    \n",
    "    # create datetime features.\n",
    "    ('datetime', DatetimeFeatures(\n",
    "        variables=\"Date_Time\",\n",
    "        features_to_extract=[\"month\", \"hour\"],\n",
    "        drop_original=True,\n",
    "    )),\n",
    "\n",
    "    # apply sine and cosine transformation.\n",
    "    ('cyclical', CyclicalFeatures(\n",
    "        variables=[\"Date_Time_month\", \"Date_Time_hour\"],\n",
    "    )),\n",
    "])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>CO_sensor</th>\n",
       "      <th>Date_Time_month</th>\n",
       "      <th>Date_Time_hour</th>\n",
       "      <th>Date_Time_month_sin</th>\n",
       "      <th>Date_Time_month_cos</th>\n",
       "      <th>Date_Time_hour_sin</th>\n",
       "      <th>Date_Time_hour_cos</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date_Time</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2004-04-04 00:00:00</th>\n",
       "      <td>1224.0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0.866025</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 01:00:00</th>\n",
       "      <td>1215.0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0.866025</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>0.269797</td>\n",
       "      <td>0.962917</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 02:00:00</th>\n",
       "      <td>1115.0</td>\n",
       "      <td>4</td>\n",
       "      <td>2</td>\n",
       "      <td>0.866025</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>0.519584</td>\n",
       "      <td>0.854419</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 03:00:00</th>\n",
       "      <td>1124.0</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>0.866025</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>0.730836</td>\n",
       "      <td>0.682553</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2004-04-04 04:00:00</th>\n",
       "      <td>1028.0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "      <td>0.866025</td>\n",
       "      <td>-0.5</td>\n",
       "      <td>0.887885</td>\n",
       "      <td>0.460065</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     CO_sensor  Date_Time_month  Date_Time_hour  \\\n",
       "Date_Time                                                         \n",
       "2004-04-04 00:00:00     1224.0                4               0   \n",
       "2004-04-04 01:00:00     1215.0                4               1   \n",
       "2004-04-04 02:00:00     1115.0                4               2   \n",
       "2004-04-04 03:00:00     1124.0                4               3   \n",
       "2004-04-04 04:00:00     1028.0                4               4   \n",
       "\n",
       "                     Date_Time_month_sin  Date_Time_month_cos  \\\n",
       "Date_Time                                                       \n",
       "2004-04-04 00:00:00             0.866025                 -0.5   \n",
       "2004-04-04 01:00:00             0.866025                 -0.5   \n",
       "2004-04-04 02:00:00             0.866025                 -0.5   \n",
       "2004-04-04 03:00:00             0.866025                 -0.5   \n",
       "2004-04-04 04:00:00             0.866025                 -0.5   \n",
       "\n",
       "                     Date_Time_hour_sin  Date_Time_hour_cos  \n",
       "Date_Time                                                    \n",
       "2004-04-04 00:00:00            0.000000            1.000000  \n",
       "2004-04-04 01:00:00            0.269797            0.962917  \n",
       "2004-04-04 02:00:00            0.519584            0.854419  \n",
       "2004-04-04 03:00:00            0.730836            0.682553  \n",
       "2004-04-04 04:00:00            0.887885            0.460065  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Extract the features.\n",
    "\n",
    "data = pipe.fit_transform(data)\n",
    "\n",
    "data.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Compare model performance\n",
    "\n",
    "Now, let's compare the performance of a model trained with the raw features or the trigonometric transformed features.\n",
    "\n",
    "**NOTE**: I am going to do a quick and dirty job to prove my point. Keep in mind that we should split the data into a train and a test set or use cross-validation to have an accurate measure of the model performance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import Lasso"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "# Lasso regression.\n",
    "\n",
    "reg = Lasso(random_state=10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.10359654878036195"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Fit Lasso to the raw inputs.\n",
    "\n",
    "reg.fit(data[[\"Date_Time_month\", \"Date_Time_hour\"]], data[\"CO_sensor\"])\n",
    "\n",
    "# Get the R2\n",
    "reg.score(data[[\"Date_Time_month\", \"Date_Time_hour\"]], data[\"CO_sensor\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Date_Time_month_sin',\n",
       " 'Date_Time_month_cos',\n",
       " 'Date_Time_hour_sin',\n",
       " 'Date_Time_hour_cos']"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Capture the trigonometrically transformed variables in a list.\n",
    "\n",
    "trig_vars = [var for var in data.columns if 'sin' in var or 'cos' in var]\n",
    "\n",
    "trig_vars"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.13263074168408584"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Fit Lasso with transformed inputs.\n",
    "\n",
    "reg.fit(data[trig_vars], data[\"CO_sensor\"])\n",
    "\n",
    "# Get the R2.\n",
    "reg.score(data[trig_vars], data[\"CO_sensor\"])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we see, with the transformed features we improved the performance of the model by roughly 30%.\n",
    "\n",
    "More details on working with temporal features in the [Scikit-learn docs](https://scikit-learn.org/stable/auto_examples/applications/plot_cyclical_feature_engineering.html#trigonometric-features)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "fsml",
   "language": "python",
   "name": "fsml"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
